423. 从英文中重建数字
https://leetcode-cn.com/problems/reconstruct-original-digits-from-english/
- 提交时间:2021-11-23 17:31:56
- 执行用时:16 ms, 在所有 Go 提交中击败了66.67%的用户
- 内存消耗:5.1 MB, 在所有 Go 提交中击败了24.24%的用户
- 通过测试用例:24 / 24
func originalDigits(s string) string {
numC := map[byte]int{}
for _, item := range s {
numC[byte(item)]++
}
//0
if co, ok := numC['z']; ok && co != 0 {
numC['o'] -= co
}
//2
if co, ok := numC['w']; ok && co != 0 {
numC['t'] -= co
numC['o'] -= co
}
//4
if co, ok := numC['u']; ok && co != 0 {
numC['f'] -= co
numC['o'] -= co
}
//6
if co, ok := numC['x']; ok && co != 0 {
numC['s'] -= co
}
//8
if co, ok := numC['g']; ok && co != 0 {
numC['t'] -= co
}
//1
if co, ok := numC['o']; ok && co != 0 {
numC['n'] -= co
}
//3
// if co, ok := numC['t']; ok && co != 0 {
// }
//5
// if co, ok := numC['f']; ok && co != 0 {
// }
//7
if co, ok := numC['s']; ok && co != 0 {
numC['n'] -= co
}
//9
// if co, ok := numC['n']; ok && co != 0 {
// }
ret := ""
ret += strings.Repeat("0", numC['z'])
ret += strings.Repeat("1", numC['o'])
ret += strings.Repeat("2", numC['w'])
ret += strings.Repeat("3", numC['t'])
ret += strings.Repeat("4", numC['u'])
ret += strings.Repeat("5", numC['f'])
ret += strings.Repeat("6", numC['x'])
ret += strings.Repeat("7", numC['s'])
ret += strings.Repeat("8", numC['g'])
ret += strings.Repeat("9", numC['n']/2)
return ret
}